# __author:wanghao

from case.base.basecase import BaseCase
from case.pages.livingpage import LivingPage
from case.base import route, loader
from case.pages.minepage import MinePage
from case.pages.otherpage import OtherPage
from case.pages.storepage import StorePage

"""
其他页面测试
"""


class OtherPageTest(BaseCase):
    def __init__(self, methodName='runTest'):
        super(OtherPageTest, self).__init__(methodName)
        self.otherpage = OtherPage(self)

    """
      case1:测试从小程序首页点击我的模块，进入客服页面，测试跳转页面是否正确
    """

    def test_01_check_cell_path(self):
        self.logger.info("case1:测试从小程序首页点击我的模块，进入客服页面，测试跳转页面是否正确")
        # 进入直播页面
        self.otherpage.to_cell_page()
        # 接口等待时间
        self.page.wait_for(2)
        # 判断跳转路径是否正确
        self.otherpage.check_cell_page()

    """
      case2:测试从小程序首页点击我的模块，进入设置页面，测试跳转页面是否正确
    """

    def test_02_check_setting_element(self):
        self.logger.info("case2:测试从小程序首页点击我的模块，进入设置页面，测试跳转页面是否正确")
        # 进入设置页面
        self.otherpage.to_setting_page()
        # 接口等待时间
        self.page.wait_for(1)
        # check setting页面元素
        self.otherpage.check_setting_page()
        # 判断页面是否有【我的订单】模块
        self.assertTexts(["昵称"], "view")
        # 判断页面是否有【我的地址】模块
        self.assertTexts(["爱逛ID"], "view")
        # 判断页面是否有【设置】模块
        self.assertTexts(["手机号"], "view")

    """
      case3:更新小店昵称
    """

    def test_03_setting_modify_nickname(self):
        self.logger.info("case3:更新小店昵称")
        # 进入设置页面
        self.otherpage.to_setting_page()
        # check 修改nickname,由于【guang王】这个呢账号关系，昵称不能被修改，所以这个用例暂时不用触发
        # self.otherpage.check_modify_nick_name()

    """
    case4:测试从小程序首页点击我的模块，进入收货地址页面，测试跳转页面是否正确
    """
    def test_04_check_address_element(self):
        self.logger.info("case4:测试从小程序首页点击我的模块，进入收货地址页面，测试跳转页面是否正确")
        # 进入收货地址页面
        self.otherpage.to_address_page()
        # 接口等待时间
        self.page.wait_for(1)
        # check setting页面元素
        self.otherpage.check_address_page()


if __name__ == "__main__":
    loader.run(module="case.otherpage_test", config="../config.json", generate_report=True)
